package com.cloudlead.commonData.vo;

import com.cloudlead.common.lang.persistence.AbstractIdEntity;

import com.cloudlead.commonData.action.validator.TbBookingSpaceOrderValidatorGroup.*;

import java.lang.Float;
import javax.validation.constraints.Size;
import com.cloudlead.common.lang.annotation.BelongsTos;
import com.cloudlead.common.lang.annotation.Domain;
import org.joda.time.DateTime;
import com.cloudlead.common.lang.annotation.Label;
import java.lang.String;
import javax.validation.constraints.NotNull;
import com.cloudlead.commonData.vo.BaseCompany;
import com.cloudlead.commonData.vo.TbCustomerOrder;

/**
 * TbBookingSpaceOrder is a Codegen vo type
 */
@Label("订舱单表")
@BelongsTos(values = {
	@com.cloudlead.common.lang.annotation.BelongsTo(property="forwardCompany", rootField="forwardCompanyId")
,	@com.cloudlead.common.lang.annotation.BelongsTo(property="tbCustomerOrder", rootField="tbCustomerOrderId")
})
@Domain(domainClassName="com.cloudlead.commonData.entity.ETbBookingSpaceOrder")
public class TbBookingSpaceOrder extends AbstractIdEntity<String> {

    private static final long serialVersionUID =13153612621819L;    
    @Label("comments")
    @Size(max=256)
    private String comments;

    @Label("创建时间")
    private DateTime createTime;

    @Label("删除标记")
    @Size(max=45)
    private String flag;

    @Label("货代公司")
    private BaseCompany forwardCompany;

    @NotNull(groups={Update.class})
    @Label("订舱单编号")
    @Size(max=24)
    private String id;

    @Label("订单状态")
    @Size(max=8)
    private String orderStatus;

    @NotNull(groups={Create.class,Update.class})
    @Label("tbCustomerOrderId")
    private TbCustomerOrder tbCustomerOrder;

    @Label("订舱总价")
    private Float totalPrice;

    public String getComments() {
        return comments;
    }

    public void setComments(String comments) {
        this.comments = comments;
    }

    public DateTime getCreateTime() {
        return createTime;
    }

    public void setCreateTime(DateTime createTime) {
        this.createTime = createTime;
    }

    public String getFlag() {
        return flag;
    }

    public void setFlag(String flag) {
        this.flag = flag;
    }

    public BaseCompany getForwardCompany() {
        return forwardCompany;
    }

    public void setForwardCompany(BaseCompany forwardCompany) {
        this.forwardCompany = forwardCompany;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getOrderStatus() {
        return orderStatus;
    }

    public void setOrderStatus(String orderStatus) {
        this.orderStatus = orderStatus;
    }

    public TbCustomerOrder getTbCustomerOrder() {
        return tbCustomerOrder;
    }

    public void setTbCustomerOrder(TbCustomerOrder tbCustomerOrder) {
        this.tbCustomerOrder = tbCustomerOrder;
    }

    public Float getTotalPrice() {
        return totalPrice;
    }

    public void setTotalPrice(Float totalPrice) {
        this.totalPrice = totalPrice;
    }

    public String toString() {
         return String.format("TbBookingSpaceOrder { comments : %s,createTime : %s,flag : %s,forwardCompany : %s,id : %s,orderStatus : %s,tbCustomerOrder : %s,totalPrice : %s }",comments,createTime,flag,forwardCompany,id,orderStatus,tbCustomerOrder,totalPrice);
    }

}

